home *** CD-ROM | disk | FTP | other *** search
-
- TimeKeeper v1.0
-
- by Mattias Moltkesson 1992
-
- FREEWARE
-
-
- 1. Introduction
- TimeKeeper is a program that saves the system time in a memory
- block at regular intervals. The memory block is linked into the
- ExecBase->KickMemPtr list and will be allocated by Exec early
- in the boot process, thus making it survive a reset. The time
- can then be restored when TimeKeeper is restarted, preferably
- in the user-startup or the startup-sequence. This is of course
- only useful if you don't have a battery backed-up clock.
-
- 1.1. System requirements
- This program should work on any Amiga, though I haven't tested
- it on anything else than my A500+. However, it requires
- AmigaDos 2.0.
-
-
- 2. Installing
- To install TimeKeeper, just move the main program to wherever
- you like, and the line below to either the user-startup or the
- startup-sequence.
-
- run TimeKeeper <options>
-
- To make the startup window go away, you might need to use
- runback instead of run, or redirect the console output to nil:,
- like this:
-
- run >nil: TimeKeeper >nil: <options>
-
- For maximum accuracy you might want to place this line
- somewhere in the startup scripts that takes a fairly constant
- time to reach after resets.
- If you are using the compensate option, TimeKeeper will also
- look for a file named "TimeKeeper.comp". It should be located
- in either progdir: (i.e. the same directory as TimeKeeper
- itself resides in) or s:.
-
-
- 3. Options
- The template for TimeKeeper is "I=INTERVAL/N, PRI=PRIORITY/N,
- C=COMMAND, COMP=COMPENSATE/S, QUIT/S". Each option is described
- in detail below. If you enter a single ? on the argument line,
- the template will be shown and you are prompted to enter an
- argument line. Entering another ? gives you a brief description
- of each option and again prompts you for an argument line.
- If TimeKeeper is already running, the options you specify will
- be sent to the active process. Note that it really only makes
- sense to send the interval, priority and quit options to an
- active process.
- Currently TimeKeeper can only be started from Shell.
-
- 3.1. I=INTERVAL/N
- This option specifies the interval in seconds between savings
- of the system time in the resident memory block. The default
- value is 1. Specifying a longer interval uses less CPU time,
- but on the other hand the accuracy of the restored time is
- lower. At an interval of 1, TimeKeeper uses less than 0.01% of
- the system time on my standard A500+, so that shouldn't really
- be a problem.
-
- 3.2. PRI=PRIORITY/N
- This option lets you specify the priority for the TimeKeeper
- process. A high priority will give maximum accuracy, while a
- low priority makes sure that almost no CPU time is used when
- the processor is busy doing more important work. It's not
- recommended to have a priority outside the range of -5 to +5.
- On exiting the original priority will be restored.
-
- 3.3. C=COMMAND
- This option should be a string to execute as a Shell command if
- the time couldn't be restored (i.e. if TimeKeeper couldn't find
- it's memory block in the KickMemPtr list). This could for
- example be the preferences time setter, or an atomclock calling
- utility.
-
- 3.4. COMP=COMPENSATE/S
- Activates the boot delay compensation feature. TimeKeeper will
- compensate for the time it takes to restart TimeKeeper after a
- reset with this switch on. The delay time will be stored in a
- file called "TimeKeeper.comp", stored either in progdir: or s:.
- If this file can't be found, TimeKeeper will put up a requester
- asking how much time that has passed since the reset. This time
- should be entered as how many seconds that has passed between
- the reset and pressing enter in the string gadget (or pressing
- the OK button). This information will then be stored in
- progdir:. As said above, you can move the file to s: if you
- wish.
- To calibrate this feature, just put TimeKeeper in your startup
- with Comp(ensate) on the argument line. Then start up
- TimeKeeper and reset. Be sure to keep track of the time. When
- the requester pops up, enter the time an press enter (or OK).
- Remember that the time it took to enter it should be included.
-
- 3.5. QUIT/S
- Tells an active TimeKeeper process to quit. Can also be used to
- just restore the time and immediately exit.
-
-
- 4. Other info
- TimeKeeper is pure and can be made resident if you wish.
- When executing a command specified with the command option, or
- requesting the boot delay, TimeKeeper won't be able to answer
- messages from other TimeKeeper tasks. Thus, the sending task
- will lock up until the receiver can answer the message.
- I've included the source code for those interested. It was
- compiled with DICE, and you might have to change a few things
- to be able to compile it with other compilers. Please don't
- distribute any modified versions, contact me instead. That will
- help keeping the program and it's versions consistent.
-
- 4.1 Acknowledgements
- Thanks goes to the following persons:
- Michael Krogsbøll, for contributing to this program before it
- was even thought of. :-)
- Henrik Nordström, for helping me out on some points.
- Jan van den Baard, for his excellent program GadToolsBox, which
- I used for making the requester.
-
-
- 5. The Author (That's me! :-))
- If you have any suggestions, question or bug reports, please
- get in touch with me. I can be reached on the following
- addresses:
-
- InterNet: molke@bugend.edvina.se (preferred)
- molke@bill.forsmark.uu.se (until June 93)
- molke@augs.se
-
- FidoNet: 2:206/108.3
-
- Mattias Moltkesson
- Skördevägen 4
- S-743 34 Storvreta
- SWEDEN
-
- Phone: +46-18-315063
-
-